from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
from object_define import Order
from file_reader_define import TxtFileReader, JsonFileReader
# 读取数据
txtFileReader = TxtFileReader()
jan_order_list = txtFileReader.reader_file('D:\\其他学习\\python学习\\python黑马课堂资料\\资料\\第13章资料\\2011年1月销售数据.txt')

jsonFileReader = JsonFileReader()
feb_order_list = jsonFileReader.reader_file('D:\\其他学习\\python学习\\python黑马课堂资料\\资料\\第13章资料\\2011年2月销售数据JSON.txt')

all_order_list = jan_order_list
for feb_order in feb_order_list:
    all_order_list.append(feb_order)

# 合并数据，相同年月日的数据合并为一条，金额累加
order_dict = {}
for all_order in all_order_list:
    date = all_order.date
    money = float(all_order.money)
    try:
        # 对于字典来说 +=时，是运算操作，key值必须存在， =时，是赋值操作，key值可以没有，所以，对于+=来说，如果key不存在时，会报错
        order_dict[date] += money
    except:
        order_dict[date] = money


# 基于数据，构建柱状图
bar = Bar()

bar.add_xaxis(list(order_dict.keys()))
bar.add_yaxis(series_name='一二月各省份GDP数据',
              y_axis=list(order_dict.values()),
              # 数据量多，不展示柱状图中的金额数据
              label_opts=LabelOpts(is_show=False))

bar.render()

